package viz_du1;

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JSlider;
import javax.swing.UIManager;

/**
 *
 * @author Radek
 */
public class DU1 {

    public static void main(String[] args) {
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception e) {
            System.err.println("The atempt to set system Look&Feel failed. "
                    + "Continuing with default.");
        }

        ImageDisplay imgDisplay = new ImageDisplay();

        JSlider slider = new JSlider(JSlider.HORIZONTAL, 0, 226, 10);
        slider.setPaintTicks(true);
        slider.addChangeListener(imgDisplay);

        JFrame frame = new JFrame("CT vizualization");
        JMenuBar frameMenuBar = new JMenuBar();
        JMenu menu1 = new JMenu("Mapování");
        JMenuItem menuItem1 = new JMenuItem("Černobílé");
        JMenuItem menuItem2 = new JMenuItem("Barevné spektrum");
        JMenuItem menuItem3 = new JMenuItem("Červenožluté");
        menuItem1.addActionListener(imgDisplay);
        menuItem2.addActionListener(imgDisplay);
        menuItem3.addActionListener(imgDisplay);
        menu1.add(menuItem1);
        menu1.add(menuItem2);
        menu1.add(menuItem3);
        frameMenuBar.add(menu1);
        JMenu menu2 = new JMenu("Osa");
        JMenuItem menuItem4 = new JMenuItem("Osa x");
        JMenuItem menuItem5 = new JMenuItem("Osa y");
        JMenuItem menuItem6 = new JMenuItem("Osa z");
        menuItem4.addActionListener(imgDisplay);
        menuItem5.addActionListener(imgDisplay);
        menuItem6.addActionListener(imgDisplay);
        menu2.add(menuItem4);
        menu2.add(menuItem5);
        menu2.add(menuItem6);
        frameMenuBar.add(menu2);
        frame.setJMenuBar(frameMenuBar);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(imgDisplay, BorderLayout.CENTER);
        frame.getContentPane().add(slider, BorderLayout.SOUTH);
        frame.setLocation(400, 200);
        frame.pack();
        frame.setVisible(true);

//        MeshDisplay md = new MeshDisplay();
//        Mesh mesh = md.createMesh(500);
//        Scene scene = new Scene();
//        scene.addMesh(mesh);
//        scene.setBoundingSphere(MeshUtils.getBoundingSphere(mesh));
//        RenderState state = new RenderState();
//        state.setBuffersToClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
//        state.enable(GL.GL_DEPTH_TEST);
//        state.enable(GL.GL_LIGHTING);
//        // Následující řádek způsobí, že se nebudou vykreslovat odvrácené plošky
//        state.enable(GL.GL_CULL_FACE);
//        URL vShader = ClassLoader.getSystemResource("Phong.vert");
//        URL fShader = ClassLoader.getSystemResource("Phong.frag");
//        Pass meshDisplay = new Pass(vShader, fShader);
//        meshDisplay.scene = scene;
//        meshDisplay.renderState = state;
//
//        Window frame2 = new Window(scene);
//        frame2.setEffect(meshDisplay);
//        frame2.runFastAsPosible = false;
//        frame2.start();
    }
  
}
